As computer and network technology develop, personal computers, smart phones, and other electronic devices have become widely used. These electronic devices not only can have application programs installed on them to provide users with a wide variety of functions such as music playing and data storage, but also can include service providers that provide the application programs with services through specific access interfaces. These service providers can be application programs or system programs.
Many inter-process communication (IPC) mechanisms have appeared in specific applications to facilitate communication between application programs and between application programs and system programs to meet service access actions to be performed between different programs. Communication between program processes is implemented based on these IPC mechanisms. D-Bus is one of the IPC mechanisms. D-Bus provides communication for processes in a Linux desktop environment. At the same time, D-Bus can transmit events under both Linux desktop environment and Linux kernel as messages to processes and can implement various complex inter-process communication tasks.
As an aspect, D-Bus is limited to communication between applications within a single device. D-Bus is unable to meet inter-device service access needs. For example, a vehicle-mounted system includes multiple electronic devices such as a smart phone and a Wi-Fi speaker system. The functions provided by each device are mutually independent. In the event that the user would like to listen to music in a certain electronic device (such as, for example, a smart phone), the device may not be capable of performing an audio playing function because of an audio hardware failure. As a result, the user may give up on listening to music or may have to manually copy a desired song into the storage media of the Wi-Fi speaker system to play music or the desired song. The service functions currently provided between devices are mutually independent and cannot be used conveniently by users affecting the user experience of these functions.